﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class OsalineOtsing : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsalineOtsing {
        
        private System.Boolean? @__eXCLUDE;
        
        private System.DateTime? @__algusKP;
        
        private System.DateTime? @__algusKPVahemikuLoppKP;
        
        private System.Collections.Generic.List<System.Int64?> @__liikKL = new System.Collections.Generic.List<System.Int64?>();
        
        private System.Int64? @__isikuObjektID;
        
        private string @__isikuKood;
        
        private string @__isikuNimi;
        
        private string @__isikuEesnimi;
        
        private string @__isikuKoosnimi;
        
        private System.DateTime? @__isikuSynniKP;
        
        private System.DateTime? @__isikuSynniKPVahemikuLoppKP;
        
        private System.DateTime? @__koostamiseKP;
        
        private System.DateTime? @__koostamiseKPVahemikuLoppKP;
        
        private string @__kvalifikatsioonCSV;
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKvalifikatsiooniParagrahvOtsing> @__kvalifikatsioon = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKvalifikatsiooniParagrahvOtsing>();
        
        private global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKvalifikatsiooniParagrahvOtsing @__kvalifikatsiooniVahemikuLopp;
        
        private global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsikOtsing @__organisatsiooniyksus;
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsalineOtsing> @__osaliseEsindaja = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsalineOtsing>();
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsalineOtsing> @__osaliseEsindatav = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsalineOtsing>();
        
        private System.Boolean? @__loppKPIsNull;
        
        private System.DateTime? @__loppKP;
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IByrooPiirang> @__byrooPiirangud = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IByrooPiirang>();
        
        private System.Collections.Generic.List<System.Int64?> @__isikuTyypKL = new System.Collections.Generic.List<System.Int64?>();
        
        public OsalineOtsing() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public OsalineOtsing(
                    System.Boolean? @eXCLUDE, 
                    System.DateTime? @algusKP, 
                    System.DateTime? @algusKPVahemikuLoppKP, 
                    System.Collections.Generic.List<System.Int64?> @liikKL, 
                    System.Int64? @isikuObjektID, 
                    string @isikuKood, 
                    string @isikuNimi, 
                    string @isikuEesnimi, 
                    string @isikuKoosnimi, 
                    System.DateTime? @isikuSynniKP, 
                    System.DateTime? @isikuSynniKPVahemikuLoppKP, 
                    System.DateTime? @koostamiseKP, 
                    System.DateTime? @koostamiseKPVahemikuLoppKP, 
                    string @kvalifikatsioonCSV, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKvalifikatsiooniParagrahvOtsing> @kvalifikatsioon, 
                    global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKvalifikatsiooniParagrahvOtsing @kvalifikatsiooniVahemikuLopp, 
                    global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsikOtsing @organisatsiooniyksus, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsalineOtsing> @osaliseEsindaja, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsalineOtsing> @osaliseEsindatav, 
                    System.Boolean? @loppKPIsNull, 
                    System.DateTime? @loppKP, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IByrooPiirang> @byrooPiirangud, 
                    System.Collections.Generic.List<System.Int64?> @isikuTyypKL) {
            this.@__eXCLUDE = @eXCLUDE;
            this.@__algusKP = @algusKP;
            this.@__algusKPVahemikuLoppKP = @algusKPVahemikuLoppKP;
            this.@__liikKL = @liikKL;
            this.@__isikuObjektID = @isikuObjektID;
            this.@__isikuKood = @isikuKood;
            this.@__isikuNimi = @isikuNimi;
            this.@__isikuEesnimi = @isikuEesnimi;
            this.@__isikuKoosnimi = @isikuKoosnimi;
            this.@__isikuSynniKP = @isikuSynniKP;
            this.@__isikuSynniKPVahemikuLoppKP = @isikuSynniKPVahemikuLoppKP;
            this.@__koostamiseKP = @koostamiseKP;
            this.@__koostamiseKPVahemikuLoppKP = @koostamiseKPVahemikuLoppKP;
            this.@__kvalifikatsioonCSV = @kvalifikatsioonCSV;
            this.@__kvalifikatsioon = @kvalifikatsioon;
            this.@__kvalifikatsiooniVahemikuLopp = @kvalifikatsiooniVahemikuLopp;
            this.@__organisatsiooniyksus = @organisatsiooniyksus;
            this.@__osaliseEsindaja = @osaliseEsindaja;
            this.@__osaliseEsindatav = @osaliseEsindatav;
            this.@__loppKPIsNull = @loppKPIsNull;
            this.@__loppKP = @loppKP;
            this.@__byrooPiirangud = @byrooPiirangud;
            this.@__isikuTyypKL = @isikuTyypKL;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected OsalineOtsing(IOsalineOtsing @osalineOtsing) {
            this.@__eXCLUDE = @osalineOtsing.EXCLUDE;
            this.@__algusKP = @osalineOtsing.AlgusKP;
            this.@__algusKPVahemikuLoppKP = @osalineOtsing.AlgusKPVahemikuLoppKP;
            this.@__liikKL = @osalineOtsing.LiikKL;
            this.@__isikuObjektID = @osalineOtsing.IsikuObjektID;
            this.@__isikuKood = @osalineOtsing.IsikuKood;
            this.@__isikuNimi = @osalineOtsing.IsikuNimi;
            this.@__isikuEesnimi = @osalineOtsing.IsikuEesnimi;
            this.@__isikuKoosnimi = @osalineOtsing.IsikuKoosnimi;
            this.@__isikuSynniKP = @osalineOtsing.IsikuSynniKP;
            this.@__isikuSynniKPVahemikuLoppKP = @osalineOtsing.IsikuSynniKPVahemikuLoppKP;
            this.@__koostamiseKP = @osalineOtsing.KoostamiseKP;
            this.@__koostamiseKPVahemikuLoppKP = @osalineOtsing.KoostamiseKPVahemikuLoppKP;
            this.@__kvalifikatsioonCSV = @osalineOtsing.KvalifikatsioonCSV;
            this.@__kvalifikatsioon = @osalineOtsing.Kvalifikatsioon;
            this.@__kvalifikatsiooniVahemikuLopp = @osalineOtsing.KvalifikatsiooniVahemikuLopp;
            this.@__organisatsiooniyksus = @osalineOtsing.Organisatsiooniyksus;
            this.@__osaliseEsindaja = @osalineOtsing.OsaliseEsindaja;
            this.@__osaliseEsindatav = @osalineOtsing.OsaliseEsindatav;
            this.@__loppKPIsNull = @osalineOtsing.LoppKPIsNull;
            this.@__loppKP = @osalineOtsing.LoppKP;
            this.@__byrooPiirangud = @osalineOtsing.ByrooPiirangud;
            this.@__isikuTyypKL = @osalineOtsing.IsikuTyypKL;
        }
        
        public virtual System.Boolean? EXCLUDE {
            get {
                return this.@__eXCLUDE;
            }
            set {
                this.@__eXCLUDE = value;
            }
        }
        
        public virtual System.DateTime? AlgusKP {
            get {
                return this.@__algusKP;
            }
            set {
                this.@__algusKP = value;
            }
        }
        
        public virtual System.DateTime? AlgusKPVahemikuLoppKP {
            get {
                return this.@__algusKPVahemikuLoppKP;
            }
            set {
                this.@__algusKPVahemikuLoppKP = value;
            }
        }
        
        public virtual System.Collections.Generic.List<System.Int64?> LiikKL {
            get {
                return this.@__liikKL;
            }
            set {
                this.@__liikKL = value;
            }
        }
        
        public virtual System.Int64? IsikuObjektID {
            get {
                return this.@__isikuObjektID;
            }
            set {
                this.@__isikuObjektID = value;
            }
        }
        
        public virtual string IsikuKood {
            get {
                return this.@__isikuKood;
            }
            set {
                this.@__isikuKood = value;
            }
        }
        
        public virtual string IsikuNimi {
            get {
                return this.@__isikuNimi;
            }
            set {
                this.@__isikuNimi = value;
            }
        }
        
        public virtual string IsikuEesnimi {
            get {
                return this.@__isikuEesnimi;
            }
            set {
                this.@__isikuEesnimi = value;
            }
        }
        
        public virtual string IsikuKoosnimi {
            get {
                return this.@__isikuKoosnimi;
            }
            set {
                this.@__isikuKoosnimi = value;
            }
        }
        
        public virtual System.DateTime? IsikuSynniKP {
            get {
                return this.@__isikuSynniKP;
            }
            set {
                this.@__isikuSynniKP = value;
            }
        }
        
        public virtual System.DateTime? IsikuSynniKPVahemikuLoppKP {
            get {
                return this.@__isikuSynniKPVahemikuLoppKP;
            }
            set {
                this.@__isikuSynniKPVahemikuLoppKP = value;
            }
        }
        
        public virtual System.DateTime? KoostamiseKP {
            get {
                return this.@__koostamiseKP;
            }
            set {
                this.@__koostamiseKP = value;
            }
        }
        
        public virtual System.DateTime? KoostamiseKPVahemikuLoppKP {
            get {
                return this.@__koostamiseKPVahemikuLoppKP;
            }
            set {
                this.@__koostamiseKPVahemikuLoppKP = value;
            }
        }
        
        public virtual string KvalifikatsioonCSV {
            get {
                return this.@__kvalifikatsioonCSV;
            }
            set {
                this.@__kvalifikatsioonCSV = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKvalifikatsiooniParagrahvOtsing> Kvalifikatsioon {
            get {
                return this.@__kvalifikatsioon;
            }
            set {
                this.@__kvalifikatsioon = value;
            }
        }
        
        public virtual global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKvalifikatsiooniParagrahvOtsing KvalifikatsiooniVahemikuLopp {
            get {
                return this.@__kvalifikatsiooniVahemikuLopp;
            }
            set {
                this.@__kvalifikatsiooniVahemikuLopp = value;
            }
        }
        
        public virtual global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsikOtsing Organisatsiooniyksus {
            get {
                return this.@__organisatsiooniyksus;
            }
            set {
                this.@__organisatsiooniyksus = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsalineOtsing> OsaliseEsindaja {
            get {
                return this.@__osaliseEsindaja;
            }
            set {
                this.@__osaliseEsindaja = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsalineOtsing> OsaliseEsindatav {
            get {
                return this.@__osaliseEsindatav;
            }
            set {
                this.@__osaliseEsindatav = value;
            }
        }
        
        public virtual System.Boolean? LoppKPIsNull {
            get {
                return this.@__loppKPIsNull;
            }
            set {
                this.@__loppKPIsNull = value;
            }
        }
        
        public virtual System.DateTime? LoppKP {
            get {
                return this.@__loppKP;
            }
            set {
                this.@__loppKP = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IByrooPiirang> ByrooPiirangud {
            get {
                return this.@__byrooPiirangud;
            }
            set {
                this.@__byrooPiirangud = value;
            }
        }
        
        public virtual System.Collections.Generic.List<System.Int64?> IsikuTyypKL {
            get {
                return this.@__isikuTyypKL;
            }
            set {
                this.@__isikuTyypKL = value;
            }
        }
    }
}
